package com.ruoyi.project.in.stockindetail.mapper;

import com.ruoyi.project.bas.product.domain.BasProduct;
import com.ruoyi.project.in.stockindetail.domain.StockinDetail;

import java.util.List;

/**
 * 入库单子管理 数据层
 * 
 * @author sys
 * @date 2021-10-28
 */
public interface StockinDetailFinishMapper
{
	/**
     * 查询入库单子管理信息
     * 
     * @param stockinDetailId 入库单子管理ID
     * @return 入库单子管理信息
     */
	public StockinDetail selectStockinDetailById(String stockinDetailId);

	public StockinDetail selectStockinDetailById1(String stockinId,String productId);

	List<StockinDetail> selectStockinDetailByStockInId(String stockInId);

	/**
     * 查询入库单子管理信息
     *
     * @param erpOid 入库单erp单据号
     * @return 入库单子管理信息
     */
	public StockinDetail selectStockinDetailByErpOId(String erpOid);
	public StockinDetail selectStockinDetailByerpTransactionId(String erpTransactionId);

	/**
     * 查询入库单子管理列表
     * 
     * @param stockinDetail 入库单子管理信息
     * @return 入库单子管理集合
     */
	public List<StockinDetail> selectStockinDetailList(StockinDetail stockinDetail);
	
	/**
     * 新增入库单子管理
     * 
     * @param stockinDetail 入库单子管理信息
     * @return 结果
     */
	public int insertStockinDetail(StockinDetail stockinDetail);
	
	/**
     * 修改入库单子管理
     * 
     * @param stockinDetail 入库单子管理信息
     * @return 结果
     */
	public int updateStockinDetail(StockinDetail stockinDetail);
	
	/**
     * 删除入库单子管理
     * 
     * @param stockinDetailId 入库单子管理ID
     * @return 结果
     */
	public int deleteStockinDetailById(String stockinDetailId);
	
	/**
     * 批量删除入库单子管理
     * 
     * @param stockinDetailIds 需要删除的数据ID
     * @return 结果
     */
	public int deleteStockinDetailByIds(String[] stockinDetailIds);

    void insertFinish(String stockinGuid);

	void deleteStockinDetailByGuId(String stockinGuid);

    List<StockinDetail> selectStockinDetailListFinish(String stockinGuid);

    BasProduct selectById(String productId);

}